package cn.demengsite.utils;

import cn.demengsite.model.Product;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;

import static cn.demengsite.base.ProductConfig.productColorMap;
import static cn.demengsite.base.ProductConfig.productNameMap;
import static cn.demengsite.base.ProductConfig.productSizeMap;

public class ProductUtils {

    /**
     * 此方法只对自定义的条码有效
     *  sku 01 6 17 4 01 121 && 400 01
     *  01 类别： 01，童装 。02，女装等等
     *  6 性别 ：6男，9 女
     *  17 年份 17年的款
     *  4 季节 1234 春夏秋冬
     *  01 品类 单衫 裤子等等
     *  121 款式流水号
     *  400颜色号
     *  01尺码号
     *  额外的表格 spc 和原货号关联表 lightblue 前缀 LB 全部通过跨域的方式调取到数据
     * @param barCode
     * @return
     */
    public static Product getProductByBarCode(String barCode){

        Product product = new Product();
        product.setProductNum(100);
        product.setBarCode(barCode);
        product.setProductId(barCode);
        if(barCode.charAt(0)=='1'){
            product.setProductName("男童");
        }else {
            product.setProductName("女童");
        }

        String colorCode = barCode.substring(1,4);
        product.setColorName(productColorMap.get(colorCode));
        String sizeCode  = barCode.substring(4,7);
        product.setSizeName(productSizeMap.get(sizeCode));
        String originalPrice = barCode.substring(7);
        product.setOriginalPrice(Double.parseDouble(originalPrice));
        BigDecimal bd=new BigDecimal((Double.parseDouble(originalPrice)*0.3));
        double d1=bd.setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue();
        product.setSalePrice(d1);

        return product;

    }

    /**
     *     通过ProductId来获取产品的名字
     */
    public static String getProductNameByProductId(String productId){
        String styleId = productId.substring(4,6);
        return productNameMap.get(styleId);
    }

}
